(require 'uniquify)
(setq uniquify-buffer-name-style 'forward)
(setq recentf-save-file (concat user-emacs-directory ".recenf"))

(require 'recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 40)

(ido-mode t)
(setq ido-enable-flex-matching t)
(setq ido-use-filename-at-point nil)

;; only match files in the current directory displayed int the minibuffer
(setq ido-auto-merge-work-directories-length -1)
;; include buffer names of recently open files, even if they're not open now

(setq ido-use-virtual-buffers t)

;; enable ido in all contexts where it could be useful
(ido-ubiquitous-mode 1)
(ido-everywhere 1)

;; Show a list of buffers
(global-set-key (kbd "C-x C-b") 'ibuffer)


;; Enhances M-x to allow easier execution of commands. Provides
;; a filterable list of possible commands in the minibuffer
;; http://www.emacswiki.org/emacs/Smex
(setq smex-save-file (concat user-emacs-directory ".smex-items"))
(smex-initialize)
(global-set-key (kbd "M-x") 'smex)

;; projectile everywhere
(projectile-global-mode)
